package br.com.bankai.koby.repository.entity.simple;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;

import br.com.bankai.koby.repository.dom.DomPessoa;
import br.com.graflogic.utilities.datautil.util.FormatUtil;

/**
 * 
 * @author Leonardo
 *
 */
@Entity
@Table(name = "tb_pessoa_juridica")
@Inheritance(strategy = InheritanceType.JOINED)
public class PessoaJuridicaSimple extends PessoaSimple {

	private static final long serialVersionUID = 3164783309915819094L;

	public PessoaJuridicaSimple() {

	}

	public PessoaJuridicaSimple(Long id, String cnpj, String tipo) {
		super(id, tipo);
		setCnpj(cnpj);
	}

	@Column(name = "nu_cnpj", nullable = false)
	private String cnpj;

	@Column(name = "nu_inscricao_estadual")
	private String inscricaoEstadual;

	@Column(name = "nu_inscricao_municipal")
	private String inscricaoMunicipal;

	@Column(name = "nm_fantasia")
	private String nomeFantasia;

	@Column(name = "in_endereco_unico", nullable = false)
	private char enderecoUnico;

	//Getters and Setters

	public String getCnpj() {
		return cnpj;
	}

	public void setCnpj(String cnpj) {
		this.cnpj = cnpj;
	}

	public String getInscricaoEstadual() {
		return inscricaoEstadual;
	}

	public void setInscricaoEstadual(String inscricaoEstadual) {
		this.inscricaoEstadual = inscricaoEstadual;
	}

	public String getInscricaoMunicipal() {
		return inscricaoMunicipal;
	}

	public void setInscricaoMunicipal(String inscricaoMunicipal) {
		this.inscricaoMunicipal = inscricaoMunicipal;
	}

	public String getNomeFantasia() {
		return nomeFantasia;
	}

	public void setNomeFantasia(String nomeFantasia) {
		this.nomeFantasia = nomeFantasia;
	}

	public char getEnderecoUnico() {
		return enderecoUnico;
	}

	public void setEnderecoUnico(char enderecoUnico) {
		this.enderecoUnico = enderecoUnico;
	}

	public String getFormattedCnpj() {
		return FormatUtil.formatCNPJ(cnpj);
	}

	public String getDeStatus() {
		return DomPessoa.domStatusPessoaJuridica.getDeValor(getStatus());
	}
}